In a traditional or local computing environment, an application is typically run as a single program where a procedure call and the procedure implementation (i.e. code) execute in the same address space. In distributed computing, for example the Distributed Computing Environment (DCE), there is a client-server model in which a client program (i.e. client) and a server program (i.e. server) run, and typically the client and the server execute on different systems in the network.
One of the advantages of a distributed computing environment is the ability to improve performance of an application by distributing its execution to multiple machines. The primary programming structure in DCE for distributing an application across a network is the Remote Procedure Call.
There are existing DCE utilities and services which help users identify, access and share resources that are distributed through the network. There however remains the problem of determining the execution status of the distributed application. Such information is needed in order to provide any practical debug and trace tool, and without a debug tool it becomes very difficult for software developers to trace and analyze the execution of a distributed application. The development of an adequate debug/trace tool is hampered by the lack of a method to generate sufficient debug/trace information that is updated, exchanged, and recorded while the distributed application executes.
It would therefore be an advancement in the art to provide a method for generating event and program information during the execution of an application in a distributed computing environment.